Activating a dialog is slightly different from opening it; the
former is about showing the user authentication widgetry, while
the latter is about creating it and pre-allocating the necessary
resources.
Activate the screen shield dialog when necessary.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
return GLib.SOURCE_REMOVE;
}
+ activate() {
+ this._userList.grab_key_focus();
+ this.show();
+ }
+
open() {
Main.ctrlAltTabManager.addGroup(this,
_("Login Window"),
'dialog-password-symbolic',
{ sortGroup: CtrlAltTab.SortGroup.MIDDLE });
- this._userList.grab_key_focus();
- this.show();
+ this.activate();
+
this.opacity = 0;
Main.pushModal(this, { actionMode: Shell.ActionMode.LOGIN_SCREEN });
_liftShield() {
if (this._isLocked) {
- if (this._ensureUnlockDialog(true /* allowCancel */))
- this._hideLockScreen(true /* animate */);
+ this._ensureUnlockDialog(true /* allowCancel */);
+ this._dialog.activate();
} else {
this.deactivate(true /* animate */);
}
}
this._dialog.allowCancel = allowCancel;
+ this._dialog.grab_key_focus();
return true;
}
return true;
}
+ activate() {
+ this._showPrompt();
+ }
+
popModal(timestamp) {
if (this._isModal) {
Main.popModal(this, timestamp);